(function () {
    'use strict';

    angular
        .module('SURF')
        .factory('A01D02Service', A01D02Service);

    A01D02Service.$inject = ['$http', '$q', 'HOST', 'Upload'];

    function A01D02Service($http, $q, HOST, Upload) {
        return {
             saveNewUserInfo: function (agentInfoBean) {
                var deferred = $q.defer();
                var promise = $http({
                    method: 'POST',
                    url: RECIPE_HOST_ADDRESS + HOST.AGENT_ADD,
                    data: agentInfoBean
                });
                promise.then(
                    // 通讯成功的处理
                    function (answer) {
                        // 在这里可以对返回的数据集做一定的处理,再交由controller进行处理
                        answer.status = true;
                        deferred.resolve(answer);
                    },
                    // 通讯失败的处理
                    function (error) {
                        // 可以先对失败的数据集做处理，再交由controller进行处理
                        error.status = false;
                        deferred.reject(error);
                    });
                // 返回promise对象，交由controller继续处理成功、失败的业务回调
                return deferred.promise;
            },getAllLine: function () {
                var deferred = $q.defer();
                var promise = $http({
                    method: 'GET',
                    url: RECIPE_HOST_ADDRESS + HOST.LINE_ALL
                });
                promise.then(
                    // 通讯成功的处理
                    function (answer) {
                        // 在这里可以对返回的数据集做一定的处理,再交由controller进行处理
                        answer.status = true;
                        deferred.resolve(answer);
                    },
                    // 通讯失败的处理
                    function (error) {
                        // 可以先对失败的数据集做处理，再交由controller进行处理
                        error.status = false;
                        deferred.reject(error);
                    });
                // 返回promise对象，交由controller继续处理成功、失败的业务回调
                return deferred.promise;
            },
            saveVersion: function (bean) {
                var deferred = $q.defer();
                var promise = $http({
                    method: 'POST',
                    url: RECIPE_HOST_ADDRESS + HOST.SAVE_VERSION,
                    params: {
                        'line_id': bean.line_id,
                        'version_no': bean.version_no
                    }
                });
                promise.then(
                    // 通讯成功的处理
                    function (answer) {
                        // 在这里可以对返回的数据集做一定的处理,再交由controller进行处理
                        answer.status = true;
                        deferred.resolve(answer);
                    },
                    // 通讯失败的处理
                    function (error) {
                        // 可以先对失败的数据集做处理，再交由controller进行处理
                        error.status = false;
                        deferred.reject(error);
                    });
                // 返回promise对象，交由controller继续处理成功、失败的业务回调
                return deferred.promise;
            }

        }
    }

})();
